<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // // 面向过程
    // // 定义学生对象
    // var st1 = {name : "ss",age : 10086};
    // var st2 = {name : "as", age : 10010};
    // // 封装一个打印学生成绩的函数
    // function student(pp) {
    //   console.log("姓名"+pp.name+"年龄"+pp.age);
    // }
    // student(st1);
    // student(st2);

    // 面向对象
    // 首先不需要考虑整个流程，学生当成一个对象，对象储存了两个属性学生和成绩，并且有打印成绩的功能，将所有的属性和方法都封装到一起
    // 抽象所有的数据为一个（class）
    function Student(name,age) {
      this.name = name;
      this.age= age;
      this.print = function () {
              console.log("姓名"+this.name+"年龄"+this.age);
      }
    }
    
    // 根据构造函数创建实例对象(instance);
    var stt1 = new Student("swb",18);
    var stt2 = new Student("zm",180000);
    // 通过实用对象调用自己的方法
    stt1.print();
    stt2.print();

    console.log(stt1 instanceof Student);
    // 面对对象设计思想
      // 抽出class（构造函数）
      // 根据class（构造函数）。创造instance（实例）
      // 指挥instance得出结果
  </script>
</body>
</html>